[package]
name = "collection"
version = "0.4.2"
authors = [
    "Andrey Vasnetsov <vasnetsov93@gmail.com>",
    "Qdrant Team <info@qdrant.tech>",
]
license = "Apache-2.0"
edition = "2021"

[features]
tracing = ["dep:tracing", "api/tracing", "segment/tracing"]

[dev-dependencies]
criterion = "0.5"
proptest = "1.4.0"
rstest = "0.18.2"
approx = "0.5.1"

[target.'cfg(not(target_os = "windows"))'.dev-dependencies]
pprof = { version = "0.12", features = ["flamegraph", "prost-codec"] }

[dependencies]
parking_lot = { workspace = true }

rand = "0.8.5"
thiserror = "1.0"
serde = { workspace = true }
serde_cbor = { workspace = true }
serde_json = { workspace = true }
rmp-serde = "~1.1"
wal = { git = "https://github.com/qdrant/wal.git", rev = "fad0e7c48be58d8e7db4cc739acd9b1cf6735de0" }
ordered-float = "4.2"
hashring = "0.3.3"
tinyvec = { version = "1.6.0", features = ["alloc"] }

tokio = { workspace = true }
tokio-util = { workspace = true }
futures = { workspace = true }
atomicwrites = "0.4.3"
log = "0.4"
env_logger = "0.11"
merge = "0.1.0"
async-trait = "0.1.77"
arc-swap = "1.7.0"
tonic = { workspace = true }
uuid = { workspace = true }
url = { version = "2", features = ["serde"] }
validator = { version = "0.16", features = ["derive"] }
actix-web-validator = "5.0.1"

common = { path = "../common/common" }
cancel = { path = "../common/cancel" }
io = { path = "../common/io" }
issues = { path = "../common/issues" }
segment = { path = "../segment" }
sparse = { path = "../sparse" }
api = { path = "../api" }

itertools = "0.12"
indicatif = "0.17.8"
chrono = { version = "~0.4", features = ["serde"] }
schemars = { workspace = true }
tar = "0.4.40"
fs_extra = "1.3.0"
semver = "1.0.22"
tempfile = "3.10.1"
sha2 = "0.10.8"
bytes = "1.5.0"
fnv = { workspace = true }
indexmap = { workspace = true }
ringbuffer = "0.15.0"
async-recursion = "1.0"

tracing = { workspace = true, optional = true }

[[bench]]
name = "hash_ring_bench"
harness = false

[[bench]]
name = "batch_search_bench"
harness = false
